/*
 * c_dato.h
 *
 *  Created on: 27 Apr 2010
 *      Author: osky
 */

#ifndef C_DATO_H_
#define C_DATO_H_
#include "../CapaFisica/constantes.h"

class c_dato
    {
    private:
    unsigned int clave;
    char  clave_str[MAX_LARGO_CLAVE_STR];
    int largo_clave_str;
    int largo_data;
    
    char* data;

    public:
    
    
/* Constructor para clave entera, y dato cadena */
    c_dato(char* d_clave_str, char* d_data, int largoElemento );
/* Devuelve un entero, resultado de la funcion de hash a la clave */
    unsigned int algoritmo_para_hash();
    
/* Devuelve un entero, resultado de la funcion de hash a la clave */
    unsigned int algoritmo_para_hash_2();
    unsigned int algoritmo_para_hash_3();

    
    unsigned int obtener_clave_hash();
    

/* Devuelve un puntero, con los datos serializados */
    void* serializar();
    char * clave_str_serializar();
    
/* Devuelve la cantidad de bytes  validos de la cadena apuntada */
    unsigned int largo();	
    unsigned int clave_str_largo();

    void set_data(char* g_data, int g_largo);

};

#endif /* C_DATO_H_ */


